package curves;

public interface Point {
    public double getX();
    public double getY();
    public double getWeight();

    public void setX(double x);
    public void setY(double y);
    public void setWeight(double w);

    public Point dot(double a);
    public Point add(Point point);
    public double distance(Point point);

    public Point weight();
    public Point unweight();
    /**
     * Returns a point which is length*a between two points added to current point
     * @param point Direction to which point
     * @param a What part of string to add to current string
     * @return New point by given params
     */
    public Point part(Point point, double a);
}
